#include <bits/stdc++.h>

using namespace std;

class Solution
{
public:
    // bool isAnagram(string s, string t)
    // {
    //     map<char, int> map1;
    //     map<char, int> map2;
    //     for (auto ch : s)
    //     {
    //         if (map1.find(ch) != map1.end())
    //         {
    //             map1[ch]++;
    //         }
    //         else
    //         {
    //             map1.insert(pair<char, int>(ch, 1));
    //         }
    //     }
    //     for (auto ch : t)
    //     {
    //         if (map2.find(ch) != map2.end())
    //         {
    //             map2[ch]++;
    //         }
    //         else
    //         {
    //             map2.insert(pair<char, int>(ch, 1));
    //         }
    //     }
    //     if (map1.size() != map2.size())
    //     {
    //         return false;
    //     }
    //     else
    //     {
    //         for (auto it1 = map1.begin(), it2 = map2.begin(); it1 != map1.end(); it1++, it2++)
    //         {
    //             //cout << it1->first << " " << it1->second << " " << it2->first << " " << it2->second << endl;
    //             if (it1->first != it2->first || it1->second != it2->second)
    //             {
    //                 return false;
    //             }
    //         }
    //     }
    //     return true;
    // }

    bool isAnagram(string s, string t)
    {
        int record[26] = {0};
        for(auto ch:s)
        {
            record[ch-'a']++;
        }
        for(auto ch:t)
        {
            record[ch-'a']--;
        }
        for(int i=0;i<26;i++)
        {
            if(record[i]!=0)
            {
                return false;
            }
        }
        return true;
    }
};

int main()
{
    Solution sol;
    cout << sol.isAnagram("anagram", "nagaram") << endl;
    cout << sol.isAnagram("rat", "car") << endl;
    return 0;
}